package com.vecspace.dayu.code.ui.httphandler;

import org.springframework.beans.factory.annotation.Autowired;

import com.vecspace.dayu.code.ui.pojo.DataGridColumn;
import com.vecspace.dayu.code.ui.service.DataGridColumnService;
import com.vecspace.security.model.LoginContext;
import com.vecspace.web.servlet.model.BaseController;
import com.vecspace.web.servlet.model.HController;
import com.vecspace.web.servlet.model.Param;
import com.vecspace.web.servlet.model.Path;

/** DAYU-页面数据表格列 httphandler
 * 在handler中进行与页面相关的处理，比如把数据转换为HTML格式等。
 * @author wanghua
*/
@HController("dayucode_dataGridColumnHandler")
public class DataGridColumnHandler extends BaseController {

	/**根据ID查询 DAYU-页面数据表格列
	 * @return DataGridColumn
	 * @throws Exception
	 * @author wanghua
	 */
	@Path("getDataGridColumn")
	public DataGridColumn getDataGridColumn(@Param("id") Long id) throws Exception {
		return dataGridColumnService.getDataGridColumn(id);
	}

	/** 插入或修改 DAYU-页面数据表格列 
	 * @param item	要保存的对象
	 * @return void
	 * @throws Exception
	 * @author wanghua
	 */
	@Path("saveDataGridColumn")
	public DataGridColumn saveDataGridColumn(@Param("item") DataGridColumn item) throws Exception {
		if (item == null){
			return null;
		}
		/*** 对item对象进行校验，如必填项，格式，逻辑关系等 ***/
		String loginUserId = LoginContext.getLoginId();
		return dataGridColumnService.saveViewDataGridColumn(item, loginUserId);
	}

	/**更新单个字段的值
	 * 
	 * @param id
	 * @param propName
	 * @param value
	 * @return
	 * @throws Exception 
	 * @author wanghua
	 */
	@Path("updateProp")
	public DataGridColumn updateProp(@Param("id")Long id, @Param("propName")String propName, @Param("value")String value) throws Exception {
		dataGridColumnService.updateProp(id, propName, value);
		return dataGridColumnService.getDataGridColumn(id);
	}
	
	/** 根据ID删除 DAYU-页面数据表格列 
	 * @param id	主键值
	 * @return void
	 * @throws Exception
	 * @author wanghua
	 */
	@Path("deleteDataGridColumn")
	public void deleteDataGridColumn(@Param("id") Long id) throws Exception {
		dataGridColumnService.deleteDataGridColumn(id);
	}

	/************* property ********************/
	@Autowired
	private DataGridColumnService dataGridColumnService;

}
